package com.yuma.cas;

class Single{
    // 2.本类创建本类对象（就一个 静态对象）
    private static volatile Single single;  // 对象直接读写都在主内存中

    // 1.构造方法私有化
    private Single(){}

    public static Single getInstance(){
        // 3.判断对象是否为空
        if(single == null){
            synchronized (Single.class){
                // 4.判断对象是否为空
                if(single == null){
                    // 5.创建对象
                    single = new Single();
                }
            }
        }
        return single;
    }
}

public class VolatileSingletonDemo {
    public static void main(String[] args) {

    }
}
